Carlos Garnacho [Tue, 14 Jan 2014 17:09:02 +0000 (18:09 +0100)]
entry: Set GTK_STYLE_CLASS_OSD on text selection popovers
Carlos Garnacho [Tue, 14 Jan 2014 17:06:38 +0000 (18:06 +0100)]
popover: Do not set GTK_STYLE_CLASS_OSD directly
That's up to the caller, popovers are by design not only meant to
have that role.
Carlos Garnacho [Tue, 14 Jan 2014 17:02:38 +0000 (18:02 +0100)]
popover: Fix allocation of CSS margins
that was forgotten about, leaving no room for theme shadows that'd
make popovers look less flat.
Carlos Garnacho [Tue, 14 Jan 2014 11:31:25 +0000 (12:31 +0100)]
popover: Flip popovers positioning on left/right on RTL.
If widgets have GTK_TEXT_DIRECTION_RTL, popovers being positioned
on GTK_POS_LEFT/RIGHT will default to appearing on the other side
too.
Carlos Garnacho [Mon, 13 Jan 2014 11:33:33 +0000 (12:33 +0100)]
window: Remove popovers on dispose() before unsetting focus.
The popovers may return keyboard grabs to previous widgets, so if
called after unsetting the focus, the window may be left with a
dangling GtkWidget that would cause crash at later dispose() calls.
Carlos Garnacho [Mon, 13 Jan 2014 11:01:43 +0000 (12:01 +0100)]
entry: Improve positioning of touch selection magnifier
Always show completely above or below entry to avoid covering
content, and limit horizontal position so it doesn't overflow
to the right.
Matthias Clasen [Fri, 10 Jan 2014 22:43:42 +0000 (17:43 -0500)]
Implement wfh functions
With only get_preferred_width and get_preferred_height implemented,
we end up calling the GtkBin height_for_width implmementation, which
knows nothing about the margins and paddings that GtkPopover needs.
As a result, a listbox added to a popover was getting cut off
at the bottom.
Carlos Garnacho [Fri, 10 Jan 2014 14:23:12 +0000 (15:23 +0100)]
popover: Remember last focused widget on the toplevel when a popover is shown
This is so the previously focused widget can regain focus when a modal popover
is dismissed.
Carlos Garnacho [Fri, 10 Jan 2014 11:04:17 +0000 (12:04 +0100)]
popover: Add a "modal" boolean property to GtkPopover
This property is TRUE by default, when a popover is modal, it
will automatically set a GTK+ grab on the popover, and grab
the keyboard focus into the popover.
Carlos Garnacho [Fri, 10 Jan 2014 13:07:44 +0000 (14:07 +0100)]
gtk-demo: Fix crash after running popovers demo
The GtkBuilder window containing the complex popover UI was left
dangling, and with a dangling pointer to its former child, causing
crashes on gtk_grab_notify() after the popover was destroyed.
Carlos Garnacho [Thu, 9 Jan 2014 16:21:43 +0000 (17:21 +0100)]
popover: Fix memory management of popovers
Popovers are strange in the sense that they aren't attached to a
parent directly, they rely on the relative_to widget so the toplevel
is shared, and when they have a parent, it is the toplevel itself,
not relative_to. This also means that there are conditions where the
popover loses it's parent, so they must survive unparenting.
The previous code would be floating the last reference as soon as the
parent is gone, but it was non-obvious who'd own that reference. So
fix this situation by granting the ownership of popovers to their
relative_to widget, an extra reference may be held by the toplevel
when the popover has a parent, but the popover object will be
guaranteed to be alive as long as the parent lives.
This way, memory management of popovers is as hidden from the user
as regular widgets within containers are, users are free to call
gtk_widget_destroy() on a popover, but it'd eventually become
destructed when relative_to is.
Carlos Garnacho [Thu, 9 Jan 2014 11:53:29 +0000 (12:53 +0100)]
popover: Implement keyboard focus behavior
When a popover is focused, the focus is forwarded so the first
child what would get the focus actually gets it. Also, implement
correct focus chain, so the keyboard focus stays within the popover
when navigating with keyboard.
Carlos Garnacho [Thu, 9 Jan 2014 17:39:45 +0000 (18:39 +0100)]
texthandle: Fix arguments in ::style-updated callback
Carlos Garnacho [Tue, 7 Jan 2014 16:49:31 +0000 (17:49 +0100)]
gtkmain: Let windows handle WM-related events before delivering to the grab_widget
This makes it possible to move/resize client-side decorated windows that are
otherwise obscured by a GTK+ grab somewhere else, either a popover within the
window itself or a modal dialog above the window.
Carlos Garnacho [Tue, 24 Dec 2013 18:12:57 +0000 (19:12 +0100)]
entry: Show a GtkMagnifier popover on touch selection
Carlos Garnacho [Mon, 23 Dec 2013 18:15:30 +0000 (19:15 +0100)]
texthandle: Remove relative_to API
It's unused now, GtkTextHandle uses widget coordinates.
Carlos Garnacho [Mon, 23 Dec 2013 18:09:10 +0000 (19:09 +0100)]
texthandles: Use GtkWindow popovers API
This offers the same behavior, but GDK_WINDOW_TEMP windows aren't used
anymore, involving less translations from/to root coordinates, plus no
glitches in having handles snap to content as windows move.
Carlos Garnacho [Mon, 23 Dec 2013 18:05:33 +0000 (19:05 +0100)]
window: Keep track of popover children mapped status
In order to maintain visibility of the GdkWindow that's the parent window
of the popover widget.
Carlos Garnacho [Mon, 23 Dec 2013 18:04:48 +0000 (19:04 +0100)]
window: Add gtk_window_get_popover_position()
A getter to complement the setter
Carlos Garnacho [Mon, 23 Dec 2013 17:45:01 +0000 (18:45 +0100)]
entry: Set use-underline in popover GtkToolButtons
Carlos Garnacho [Mon, 23 Dec 2013 17:44:34 +0000 (18:44 +0100)]
textview: Set use-underline in popover GtkToolButtons
Carlos Garnacho [Tue, 24 Dec 2013 23:37:07 +0000 (00:37 +0100)]
textview: Use GtkMagnifier on touch selection
The magnifier renders the area covered by the finger, making it easier to follow
the text being selected.
Carlos Garnacho [Wed, 11 Dec 2013 14:42:10 +0000 (15:42 +0100)]
Add GtkMagnifier
This is a private widget that takes another widget on construction, and is able
to render parts of it, possibly at a different magnification level.
Carlos Garnacho [Wed, 11 Dec 2013 14:41:08 +0000 (15:41 +0100)]
pixelcache: check whether cached surface and cairo_t scales match
Carlos Garnacho [Fri, 8 Nov 2013 15:12:10 +0000 (16:12 +0100)]
gtk-demo: Add GtkPopovers demo
In this demo several widget create popovers with different complexities,
positions, and grabbing behavior.
Carlos Garnacho [Wed, 13 Nov 2013 14:11:21 +0000 (15:11 +0100)]
popover: Add documentation
Carlos Garnacho [Wed, 13 Nov 2013 10:02:47 +0000 (11:02 +0100)]
popover: Honor GtkContainer::border-width
The border width is now set around the contained widget.
Carlos Garnacho [Wed, 13 Nov 2013 09:49:54 +0000 (10:49 +0100)]
popover: remove GTK+ grab (if any) on unmap
If there is a GTK+ grab on the popover, ensure that it's removed when it's
unmapped. If no GTK+ grab was performed on the popover, this function will
do nothing.
Carlos Garnacho [Wed, 13 Nov 2013 09:47:13 +0000 (10:47 +0100)]
popover: listen harder on the widget being pointed to
Hierarchy, size allocation and widget visibility are now listened
to in order to update the popover state accordingly.
Carlos Garnacho [Tue, 12 Nov 2013 15:55:23 +0000 (16:55 +0100)]
Introduce GtkPopover
Now that the GtkBubbleWindow object has been cleaned up and made
more generic, rename it as GtkPopover and make it public.
Carlos Garnacho [Tue, 12 Nov 2013 13:57:39 +0000 (14:57 +0100)]
bubblewindow: Remove popup/popdown() APIs
Those functions aren't as useful anymore, hiding/showing can be
controlled by setting the widget visibility, and grabbing can be
achieved by performing a GTK+ grab.
Carlos Garnacho [Tue, 12 Nov 2013 13:35:17 +0000 (14:35 +0100)]
entry: Avoid bubblewindow popup/popdown API
Besides setting all positioning properties at once, popup() would just
show the widget, so do that directly after just updating the position.
Carlos Garnacho [Tue, 12 Nov 2013 13:22:08 +0000 (14:22 +0100)]
textview: Avoid bubblewindow popup/popdown API
Besides setting all positioning properties at once, popup() would just
show the widget, so do that directly after just updating the position.
Carlos Garnacho [Tue, 12 Nov 2013 11:56:40 +0000 (12:56 +0100)]
bubblewindow: Point to the entire widget area by default
This way pointing_to is not fully needed, unless you're pointing
to an specific rectangle within the widget, passing NULL would unset
the region too.
Carlos Garnacho [Tue, 12 Nov 2013 11:41:24 +0000 (12:41 +0100)]
bubblewindow: check the border-radius when rendering the bubble tail.
Carlos Garnacho [Tue, 12 Nov 2013 11:15:53 +0000 (12:15 +0100)]
bubblewindow: Improve overflow cases
If the bubble window doesn't fit into one direction, it must
lay at the other side of the pointed_to rectangle.
Carlos Garnacho [Mon, 11 Nov 2013 13:27:19 +0000 (14:27 +0100)]
bubblewindow: Make it relative to GtkWidget coordinates
GdkWindows are gone now from the API, the pointed_to rectangle
is from now on relative to the widget allocation. GtkTextView
and GtkEntry were updated to adapt to this change.
Carlos Garnacho [Mon, 11 Nov 2013 10:02:48 +0000 (11:02 +0100)]
bubblewindow: Remove grab API
This is not as necessary now that bubble windows are popovers, if
a modal behavior is wanted on popover contents, a GTK+ grab on the
popover widget will suffice.
Carlos Garnacho [Mon, 11 Nov 2013 09:36:51 +0000 (10:36 +0100)]
bubblewindow: Turn into a GtkWindow popover
This way GtkBubbleWindows are rendered on top of all window content, without
the need of a GDK_WINDOW_TEMP window.
Carlos Garnacho [Thu, 7 Nov 2013 22:49:21 +0000 (23:49 +0100)]
window: Add lowlevel popovers API
Popovers are transient floating widgets that are confined to the
window space. These have their own GdkWindow that is set on top
of the regular window contents, so they can be used for popup menu
alike UIs with custom popup/popdown/grabs behavior.
William Jon McCann [Wed, 22 Jan 2014 06:21:27 +0000 (01:21 -0500)]
docs: fix improper description of GtkTreeModel "rows-reordered" iter
https://bugzilla.gnome.org/show_bug.cgi?id=698398
William Jon McCann [Wed, 22 Jan 2014 04:01:15 +0000 (23:01 -0500)]
docs: don't use property syntax for child properties
William Jon McCann [Wed, 22 Jan 2014 03:58:38 +0000 (22:58 -0500)]
docs: use correct syntax for signals
William Jon McCann [Wed, 22 Jan 2014 03:45:23 +0000 (22:45 -0500)]
docs: don't use property syntax for style properties
William Jon McCann [Wed, 22 Jan 2014 02:47:34 +0000 (21:47 -0500)]
docs: mark gtkdoc blocks as private for internal only API
William Jon McCann [Wed, 22 Jan 2014 02:41:26 +0000 (21:41 -0500)]
docs: don't reference nonexisting type in docs
William Jon McCann [Wed, 22 Jan 2014 02:38:05 +0000 (21:38 -0500)]
docs: don't try to link vfunc
William Jon McCann [Wed, 22 Jan 2014 02:35:21 +0000 (21:35 -0500)]
docs: fix links to docs
William Jon McCann [Wed, 22 Jan 2014 02:26:42 +0000 (21:26 -0500)]
docs: fix docs link
William Jon McCann [Wed, 22 Jan 2014 02:23:37 +0000 (21:23 -0500)]
docs: don't reference api that doesn't exist
William Jon McCann [Wed, 22 Jan 2014 02:21:01 +0000 (21:21 -0500)]
docs: don't refer to NO_WINDOW as type
William Jon McCann [Wed, 22 Jan 2014 02:10:55 +0000 (21:10 -0500)]
docs: fix dnd docs links
William Jon McCann [Wed, 22 Jan 2014 01:58:13 +0000 (20:58 -0500)]
docs: don't use signal syntax for properties
William Jon McCann [Wed, 22 Jan 2014 01:55:08 +0000 (20:55 -0500)]
docs: don't use property syntax for child properties
William Jon McCann [Wed, 22 Jan 2014 01:51:25 +0000 (20:51 -0500)]
docs: fix links in builder docs
William Jon McCann [Wed, 22 Jan 2014 01:42:54 +0000 (20:42 -0500)]
docs: fix signal link syntax
Matthias Clasen [Wed, 22 Jan 2014 02:13:57 +0000 (21:13 -0500)]
Use the memory settings backend for make check
The color chooser test is constantly running into the
problem that the custom color setting is not empty.
Avoid that by using the memory settings backend.
Nikita Churaev [Tue, 21 Jan 2014 13:27:13 +0000 (17:27 +0400)]
Use symbolic icon for file chooser
https://bugzilla.gnome.org/show_bug.cgi?id=722642
Nikita Churaev [Tue, 21 Jan 2014 13:26:08 +0000 (17:26 +0400)]
Remove the use of stock icons from widget templates
https://bugzilla.gnome.org/show_bug.cgi?id=722642
Matthias Clasen [Wed, 22 Jan 2014 01:20:10 +0000 (20:20 -0500)]
GtkActionBar: Fix center widget visibility handling
This is the same fix that was applied to GtkHeaderBar
recently. Adding a child widget should not make it
visible as a side-effect.
William Jon McCann [Wed, 22 Jan 2014 00:48:41 +0000 (19:48 -0500)]
Make GTK_TREE_SORTABLE_*_SORT_COLUMN_ID defines instead of enum
This allows it to be more easily documented.
William Jon McCann [Tue, 21 Jan 2014 23:46:05 +0000 (18:46 -0500)]
docs: fix typo in signal link
William Jon McCann [Tue, 21 Jan 2014 23:42:29 +0000 (18:42 -0500)]
docs: fix docs link
William Jon McCann [Tue, 21 Jan 2014 23:41:41 +0000 (18:41 -0500)]
docs: fix style-updated link
William Jon McCann [Tue, 21 Jan 2014 23:39:26 +0000 (18:39 -0500)]
docs: fix link to even structures info
William Jon McCann [Tue, 21 Jan 2014 23:35:34 +0000 (18:35 -0500)]
docs: remove duplicate member
William Jon McCann [Tue, 21 Jan 2014 23:32:57 +0000 (18:32 -0500)]
docs: fix duplicate symbols in docs
William Jon McCann [Tue, 21 Jan 2014 23:11:37 +0000 (18:11 -0500)]
docs: remove missing link
William Jon McCann [Tue, 21 Jan 2014 23:03:31 +0000 (18:03 -0500)]
docs: remove reference to removed flags
William Jon McCann [Tue, 21 Jan 2014 23:01:14 +0000 (18:01 -0500)]
docs: fix bindings docs link
William Jon McCann [Tue, 21 Jan 2014 22:57:23 +0000 (17:57 -0500)]
docs: don't try to link to non-API types
William Jon McCann [Tue, 21 Jan 2014 22:55:59 +0000 (17:55 -0500)]
docs: don't use signal syntax for vfuncs
William Jon McCann [Tue, 21 Jan 2014 22:54:47 +0000 (17:54 -0500)]
docs: don't use property syntax for style property
William Jon McCann [Tue, 21 Jan 2014 22:53:39 +0000 (17:53 -0500)]
docs: don't link to removed types
William Jon McCann [Tue, 21 Jan 2014 22:52:13 +0000 (17:52 -0500)]
docs: separate suffix from type
William Jon McCann [Tue, 21 Jan 2014 22:50:21 +0000 (17:50 -0500)]
docs: don't use signal syntax for properties
William Jon McCann [Tue, 21 Jan 2014 22:48:53 +0000 (17:48 -0500)]
docs: don't use signal syntax for child properties
William Jon McCann [Tue, 21 Jan 2014 22:47:24 +0000 (17:47 -0500)]
docs: use function instead of removed macro
William Jon McCann [Tue, 21 Jan 2014 22:45:58 +0000 (17:45 -0500)]
docs: GDK_WINDOWING is not a type
William Jon McCann [Tue, 21 Jan 2014 22:43:04 +0000 (17:43 -0500)]
docs: don't use property syntax to link to vfuncs
William Jon McCann [Tue, 21 Jan 2014 22:41:43 +0000 (17:41 -0500)]
docs: remove broken link to docs
William Jon McCann [Tue, 21 Jan 2014 22:38:52 +0000 (17:38 -0500)]
docs: fix function link
William Jon McCann [Tue, 21 Jan 2014 22:29:53 +0000 (17:29 -0500)]
docs: remove obsolete references
William Jon McCann [Tue, 21 Jan 2014 22:25:56 +0000 (17:25 -0500)]
docs: fix typo in argument list
William Jon McCann [Tue, 21 Jan 2014 22:23:09 +0000 (17:23 -0500)]
docs: fix link to gdk docs
William Jon McCann [Tue, 21 Jan 2014 22:14:04 +0000 (17:14 -0500)]
docs: don't use type syntax on things that aren't
William Jon McCann [Tue, 21 Jan 2014 22:11:39 +0000 (17:11 -0500)]
docs: don't refer to types that don't exist
William Jon McCann [Tue, 21 Jan 2014 22:08:14 +0000 (17:08 -0500)]
docs: fix selections documentation link
William Jon McCann [Tue, 21 Jan 2014 22:06:56 +0000 (17:06 -0500)]
docs: fix see also link
William Jon McCann [Tue, 21 Jan 2014 22:04:43 +0000 (17:04 -0500)]
docs: fix function name link
William Jon McCann [Tue, 21 Jan 2014 22:02:57 +0000 (17:02 -0500)]
docs: don't try to link to funcs
William Jon McCann [Tue, 21 Jan 2014 22:00:24 +0000 (17:00 -0500)]
docs: fix property links
William Jon McCann [Tue, 21 Jan 2014 21:57:11 +0000 (16:57 -0500)]
docs: fix function name link
William Jon McCann [Tue, 21 Jan 2014 21:53:57 +0000 (16:53 -0500)]
docs: fix type link
William Jon McCann [Tue, 21 Jan 2014 21:51:23 +0000 (16:51 -0500)]
docs: fix typo in function name
William Jon McCann [Tue, 21 Jan 2014 21:49:57 +0000 (16:49 -0500)]
docs: don't refer to removed properties
William Jon McCann [Tue, 21 Jan 2014 21:34:27 +0000 (16:34 -0500)]
docs: fix typo in argument type
William Jon McCann [Tue, 21 Jan 2014 21:32:17 +0000 (16:32 -0500)]
docs: remove links that don't exist
William Jon McCann [Tue, 21 Jan 2014 21:27:14 +0000 (16:27 -0500)]
docs: fix typo in function name
William Jon McCann [Tue, 21 Jan 2014 21:25:15 +0000 (16:25 -0500)]
docs: don't try to link vfuncs